/* This code is inspired from a developement of Nikola Malovic
 * check http://blog.vuscode.com/malovicn/archive/2007/10/25/model-view-presenter-mvp-design-pattern-close-look-part-1-passive-view.aspx for more information
*/

using Microsoft.SharePoint;
namespace SharePointOfView.Patterns.MVP
{
    /// <summary>
    /// Interface which defines contract for all Presenters
    /// </summary>
    public interface IPresenter
    {
        /// <summary>
        /// View, it represents page where it is implemented
        /// </summary>
        object View { get; set; }
        /// <summary>
        /// Gets or sets the SharePoint context.
        /// </summary>
        /// <value>The SP context.</value>
        SPContext SPContext { get; set; }
        /// <summary>
        /// Initialized event handler. It is called by BasePage when page is loaded and is not postback.
        /// </summary>
        void OnViewInitialized();
        /// <summary>
        /// Loaded event handler. It is called by BasePage when page is loaded.
        /// </summary>
        void OnViewLoaded();

    }
}